package ${filePackageName};

import ${dtoPackage}.${upperEntityName}Dto;
import ${listDtoPackage}.${upperEntityName}ListDto;
import ${voPackage}.${upperEntityName}Vo;
import ${entityPackage}.${upperEntityName};
import ${commonBeanPackage}.Page;

import java.util.List;
import java.util.Map;

/**
 * ${tableComment} service接口
 * 
 * @author ${projectAuthor}
 * @version 1.0
 * @date ${nowDate}
 */
public interface ${upperEntityName}Service {

	/**
	 * 新增
	 *
	 * @param ${lowerEntityName} 新增的对象
	 * @return 新增条数
	 */
	public int insert(${upperEntityName} ${lowerEntityName});

	/**
	 * 修改
	 * 
	 * @param ${lowerEntityName} 修改的对象
	 * @return 修改条数
	 */
	public int update(${upperEntityName} ${lowerEntityName});

	/**
	 * 修改
	 *
	 * @param map
	 * @return 修改条数
	 */
	public int updateByMap(Map<String,Object> map);

	/**
	 * 删除
	 *
	 * @param ${lowerPrimaryKey}s ${primaryKeyComment}数组
	 * @return 删除条数
	 */
	public int delete(${primaryType} ... ${lowerPrimaryKey}s);

	/**
	 * 删除
	 *
	 * @param map
	 * @return 删除条数
	 */
	public int deleteByMap(Map<String,Object> map);

	/**
	 * 查询单个
	 * 
	 * @param ${lowerPrimaryKey} ${primaryKeyComment}
	 * @return 查询的对象
	 */
	public ${upperEntityName}Vo selectById(${primaryType} ${lowerPrimaryKey});

	/**
	 * 分页查询
	 * @param ${lowerEntityName}ListDto 查询条件
	 * @return 分页对象
	 */
	public Page<${upperEntityName}Vo> selectPage(${upperEntityName}ListDto ${lowerEntityName}ListDto);

	/**
	 * 查询集合
	 *
	 * @param ${lowerEntityName}Dto 查询条件对象
	 * @return 查询的集合
	 */
	public List<${upperEntityName}Vo> selectList(${upperEntityName}Dto ${lowerEntityName}Dto);


	/**
	 * 查询总数
	 *
	 * @param ${lowerEntityName}Dto 查询条件对象
	 * @return 查询的总数
	 */
	public long selectCount(${upperEntityName}Dto ${lowerEntityName}Dto);

}